====== loopPage() ======

''int **loopPage**(int //Startwert//, int //Endwert//, [int //Inkrement//])''

''int **loopPage**(int //Wiederholungen//)''

''mixed **loopPage**(array //Elemente//)''

Wiederholt die Seite -- beginnend mit dem //Startwert// -- in einer Schleife so oft, bis der //Endwert// erreicht ist. Der jeweils aktuelle Wert wird zurückgegeben.

  * //Startwert//\\ Der Wert beim ersten Durchlauf
  * //Endwert//\\ Der Wert beim letzten Durchlauf
  * //Inkrement//\\ (optional) Veränderung des Wertes bei jedem Schleifendurchlauf (Standard: 1) -- mit dem //Inkrement// 0 können Sie eine unendliche Schleife erzeugen, die mittels ''setNextPage('next')'' beendet werden kann.

Falls nur ein numerischer Parameter (//Wiederholungen//) angegeben ist, wird die Seite so oft wie angegeben wiederholt. Die Zählvariable beginnt in diesem Fall mit 0.

  * //Wiederholungen//\\ Anzahl der Wiederholungen


Falls nur ein Array als Parameter (//Elemente//) angegeben ist, wird die Seite für jedes Element des Arrays einmal angezeigt und die Funktion ''loopPage()'' gibt jeweils das Element des Arrays zurück.

  * //Elemente//\\ Elemente, die durchlaufen werden sollen

**Hinweis:** Um mehrere Seiten zu wiederholen, verwenden Sie ''[[looptopage]]''.

**Hinweis:** Beispiel-Code zur Verwendung finden Sie in der Anleitung zu ''[[looptopage]]''.

===== Beispiel: Alle Fragen einer Rubrik in zufälliger Abfolge =====

<code php>
if (!isset($fragen)) {
  // Liste aller Fragen aus Rubrik RS
  $fragen = getQuestions('RS');
  // Die Liste der Fragen (Array) mischen und zwischenspeichern
  shuffle($fragen);
  registerVariable($fragen);
}
// Alle Kennungen aus der Liste $fragen abarbeiten
$frage = loopPage($fragen);
question($frage);
</code>


===== Beispiel: Fragen in zufälliger Abfolge präsentieren II =====

<code php>// PHP-Code auf einer der ersten Seiten im Fragebogen
// Liste mit Fragen erstellen, mischen und zwischenspeichern
$fragen = array(
  'AB01', 'AB02', 'AB03',
  'AB04', 'AB05', 'AB06'
);
shuffle($fragen);
registerVariable($fragen);</code>

<code php>// PHP-Code später im Fragebogen
$i = loopPage(6);  // 6 Wiederholungen - äquivalent zu loopPage(0,5)
question($fragen[$i]);
</code>

In diesem Beispiel wird die Liste der Fragen bereits weiter vorne im Fragebogen definiert und gemischt. Dadurch entfällt die IF-Konstruktion mit ''isset()'', welche im obigen Beispiel ein erneutes Mischen der Liste verhindert.


===== Beispiel: Fragen in zufälliger Abfolge mit Verweildauer =====

**Hinweis:** Weil dieselbe Seite immer wieder angezeigt wird, werden die Antwortzeiten für alle Wiederholungen addiert. Falls Sie die Bearbeitungszeiten getrennt erheben möchten, müssen Sie anstatt ''loopPage()'' mehrere Seiten verwenden.

<code php>// PHP-Code auf einer der ersten Seiten im Fragebogen
// Liste mit Fragen erstellen, mischen und zwischenspeichern
$fragen = array(
  'AB01', 'AB02', 'AB03',
  'AB04', 'AB05', 'AB06'
);
shuffle($fragen);
registerVariable($fragen);</code>

<code php>// PHP-Code später im Fragebogen - Seite 21
question($fragen[0]);

// PHP-Code auf Seite 22
question($fragen[1]);

// u.s.w.

// PHP-Code auf Seite 26
question($fragen[5]);
</code>